GetIOByIndex

从指定的实体 I/O 模组或模拟 I/O 模组中取得资讯。

语法

KsError GetIOByIndex(
     int Index,
     SlaveStatus* Details
);

参数

Index:I/O 清单中的装置索引。索引以 0 为起始;别名将影响此参数。

DetailsSlaveStatus 结构指标,用以接收详细资讯。

回传值

若此函式执行成功,会回传 errNoError,否则会传回错误码。如需更多有关错误码的资讯,请参阅 KsError 清单。

备注

GetIObyIndex 仅能在连结建立并开启时呼叫。

可用的 EtherCAT 状态

ecatOP

范例

复制
SlaveStatus slaveStatus = { 0 };
nRet = GetIOByIndex(0, &slaveStatus);
if (nRet == errNoError)
{
    // Check the slave information in the SlaveStatus structure.
    RtPrintf("IO 0 %s: Vendor 0x%x, Product 0x%x, Revision 0x%x, Serial 0x%x\n",
             slaveStatus.Name, slaveStatus.VendorId, slaveStatus.ProductCode,
             slaveStatus.RevisionNumber, slaveStatus.SerialNumber);
    RtPrintf("Address: Auto %d, Fixed %d, Alias %d\n",
             slaveStatus.SlaveId, slaveStatus.PhysAddress, slaveStatus.AliasAddress);
    RtPrintf("PDO: Input len %d, Output len %d, Index offset 0x%x\n",
             slaveStatus.InputLength, slaveStatus.OutputLength, slaveStatus.VariableIndexOffset);
    RtPrintf("State %d, Cycle time %d\n", slaveStatus.State, slaveStatus.CycleTime);
}

使用需求

  RT Win32
最低支援版本 4.0 4.0
标头档 ksapi.h ksapi.h
程式库 KsApi_Rtss.lib KsApi.lib

参见

GetAxisByIndex

GetSlaveById